#ifndef ERRORCODES_H
#define ERRORCODES_H

/*! \file ErrorCodes.h */

//! \version 1.3

//! \enum ErrorCode
enum ErrorCode {
    //! Success
    SUCCESS=        0,

    //! Device response was garbled (bad checksum)
    ERROR_CHECKSUM=         -999,

    //! Timed out before device responded.  Is Device properly attached to correct pin?
    ERROR_TIMEOUT=          -998,

    //! Device is disabled
    ERROR_DISABLED=         -997,

    //! Unsupported device
    ERROR_UNSUPPORTED=      -996,

    //! Device returned unknown response
    ERROR_UNKNOWN_RSP=      -995,

    //! Attempt to send bad command
    ERROR_BAD_COMMAND=      -994,

    //! Invalid directory specified
    ERROR_DIRECTORY=        -993,

    //! Invalid filename specified
    ERROR_FILENAME=         -992,

    //! Not a valid analog pin - check pins_arduino.h in hardware variants
    ERROR_NOT_ANALOG_PIN=   -991,

    //! Not a valid digital pin - check pins_arduino.h in hardware variants
    ERROR_NOT_DIGITAL_PIN=  -990,

    //! Not a valid interrupt pin - check pins_arduino.h in hardware variants
    ERROR_NOT_INTERRUPT_PIN=-989,

    //! Not a valid PWM pin
    ERROR_NOT_PWM_PIN=      -988,

    //! Not a valid Serial pin - check pins_arduino.h in hardware variants
    ERROR_NOT_SERIAL_PIN=   -987,

    //! Error reading from device
    ERROR_READ=             -986,

    //! Error writing to device
    ERROR_WRITE=            -985,

    //! Invalid parameter specified
    ERROR_BAD_PARAM=        -984,

    //! Device failed initialization step 1
    ERROR_INIT1=            -983,

    //! Device failed initialization step 2
    ERROR_INIT2=            -982,

    //! Device failed initialization step 3
    ERROR_INIT3=            -981,

    //! Device does not currently have any data available - usually this means to retry again for data
    ERROR_NO_DATA=          -980,

    //! No memory available
    ERROR_NO_MEMORY=        -979,

    //! Bad address specified - May be unknown I2C device or invalid address
    ERROR_BAD_ADDRESS=      -978
};

#endif // ERRORCODES_H
